1 思考题1.1 单边 z 变换和双边 z 变换都是如何定义的?z 和 s 的关系是什么?1.2 收敛域是如何定义的?对应于不同的序列,z 变换的收敛域有哪几种情况?1.3 给出几种典型序列的 z 变换。1.4 z 变换有哪些基本性质?1.5 可以利用 z 变换的哪一种性质求解差分方程?1.6 序列指数加权和序列线性加权分别是指什么?1.7 简述 z 变换的初值定理和终值定理?1.8 终值定理的应用条件是什么?2 练习题2.12.22.32.42.52.62.73 代码3.1.33.2.13.2.23.2.33.2.43.2.53.2.63.2.7
z 变换的引入、z 和 s 的关系
令
单边 z 变换
右边 z 变换:
左边 z 变换:
双边 z 变换
使 z 变换的级数收敛的点集称为收敛域(region of convergence, ROC)
无限长右边序列(因果序列)
无限长左边序列(反因果序列)
无限长双边序列
有限长序列
常用的离散序列
序列 | z 变换 | 收敛域 | 参数说明 |
---|---|---|---|
三角与双曲三角
序列 | z 变换 | 收敛域 | 参数说明 |
---|---|---|---|
逆变换常用公式(当
性质 1 (线性性质) 若
备注
该性质对于双边、左边、右边 z 变换都是成立的.
叠加后的收敛域一般为原收敛域的重叠部分;当零极点相消时,收敛域也可能扩大.
性质 2.1 (双边位移性质) 若
双边性质推论 若因果序列
性质 2.2 (单边位移性质) 若
推论 1 若
推论 2 对于因果序列
例子
性质 3 (尺度性质 / 序列指数加权) 若
备注 该性质对于双边、左边、右边 z 变换均成立.
推论
性质 4 (微分性质 / 序列线性加权) 若
备注 该性质对于双边、左边、右边 z 变换均成立.
性质 5.1 (时域卷积) 若
备注 该性质对于双边、左边、右边 z 变换均成立.
性质 5.2 (频域卷积) 若
其中
性质 6 (特值定理) 设因果序列
初值定理:
终值定理:
备注
此外还有
终值定理连同上述等式为实分析中的结果,由 Hardy 与 Littlewood 给出.
终值定理的另一种形式,可用于证明马尔科夫链笔记中的定理 3.3.5.
求解零状态系统的差分方程可分为两步:
求解单位样值响应:利用线性性质和时移性质;
求解零状态响应:利用时域卷积定理.
此外也可直接对差分方程两边作 z 变换,于是只需要用到时移性质.
而在求解序列的 z 变换时,可能还会用到其它性质辅助求解.
见问题四,这里简述如下:
序列指数加权:即尺度性质,
序列线性加权:即微分性质,
设因果序列
初值定理:
终值定理:
要求
这里不使用结论,而从定义出发,在推导的过程中得出收敛域:
同上:
即 2.1 和 2.2 的交集:
先推导指数序列的 z 变换及其收敛域:
由尺度性质(序列指数加权),
思路一:已知
由微分性质(序列线性加权),
思路二:已知
由尺度性质(序列指数加权),
思路一:部分分式展开后计算 z 逆变换(计算量大,根式繁多)
思路二:利用 z 变换定义和幂级数展开(求导法)
思路三:利用 z 变换定义和幂级数展开(长除法)
这里使用计算量最小的思路三,并假定
1flist = {
2 {UnitStep[n], n, z},
3 {E^(-\[Alpha] n), n, z},
4 {Sin[\[Alpha] n], n, z},
5 {n^3 + 3 n + 1, n, z},
6 {n^k, n, z},
7 {ChebyshevU[n, x], n, z},
8 {a^n Cos[Pi n], n, z},
9 {(m + 1) (n - m), {m, n}, {u, v}},
10 {a^n m^3, {m, n}, {u, v}}
11};
12Grid[
13 Join[
14 {{f, Text["Z-Transform"]}},
15 Transpose[{
16 flist[[;; , 1]],
17 Map[ZTransform @@ # &, flist]
18 }]
19 ],
20 Background -> {
21 None, {{None, GrayLevel[.9]}}, {
22 {1, 1} -> Hue[.6, .4, 1],
23 {1, 2} -> Hue[.6, .4, 1]
24 }
25 },
26 BaseStyle -> {FontFamily -> Times, FontSize -> 12},
27 Dividers -> All,
28 FrameStyle -> Hue[.6, .4, .8],
29 Spacings -> {2, 1}
30] // TraditionalForm
x
1(* 求解 z 变换及其收敛域 *)
2X[z_] := ZTransform[3^-n UnitStep[n], n, z, GenerateConditions -> True]
3(* 绘制收敛域的图像 *)
4With[{z = u + I v}, RegionPlot[Abs[z] > 1/3, {u, -1, 1}, {v, -1, 1}]]
5(* 绘制函数的幅角图 *)
6ComplexPlot[X[z], {z, -1 - I, 1 + I}, ImageSize -> Small]
x
1(* 定义序列 *)
2x[n_] := Which[
3 n >= 0, 0,
4 n < 0, 2^n
5]
6(* 求解 z 变换 *)
7X[z_] := BilateralZTransform[
8 x[n], n, z,
9 GenerateConditions -> True
10]
11(* 绘制收敛域的图像 *)
12With[
13 {z = u + I v}, RegionPlot[Abs[z] < 2,
14 {u, -3, 3}, {v, -3, 3}]
15]
16(* 绘制函数的幅角图 *)
17ComplexPlot[X[z], {z, -1 - I, 1 + I}, ImageSize -> Small]
x1(* 定义序列 *)
2x[n_] := Which[
3 n >= 0, 3^-n,
4 n < 0, 2^n
5]
6(* 求解 z 变换 *)
7X[z_] := BilateralZTransform[
8 x[n], n, z,
9 GenerateConditions -> True
10]
11(* 绘制收敛域 *)
12With[
13 {z = u + I v}, RegionPlot[1/3 < Abs[z] < 2,
14 {u, -3, 3}, {v, -3, 3}]
15]
16(* 绘制函数幅角图 *)
17ComplexPlot[X[z], {z, -3 - 3 I, 3 + 3 I}, ImageSize -> Small]
xxxxxxxxxx
41ZTransform[
2 Cos[n Subscript[\[Omega], 0]], n, z,
3 GenerateConditions -> True
4]
xxxxxxxxxx
41ZTransform[
2 \[Beta]^n Cos[n Subscript[\[Omega], 0]], n, z,
3 GenerateConditions -> True
4]
xxxxxxxxxx
11ZTransform[n a^n UnitStep[n], n, z, GenerateConditions -> True]
使用思路一的 mathematica 代码
xxxxxxxxxx
11Table[InverseZTransform[(z^2 + 2 z)/(z^3 + 0.5 z^2 - z + 7), z, n], {n, 0, 1}]
使用思路二的 mathematica 代码
xxxxxxxxxx
11Table[Series[(2 z^2 + z)/(7 z^3 - z^2 + 0.5 z + 1), {z, 0, n}], {n, 0, 1}]
前两种思路的计算机求解在误差范围内与第三种方法是相同的.